/*
 * function TreeNode(x) {
 *   this.val = x;
 *   this.left = null;
 *   this.right = null;
 * }
 */
/**
 * 代码中的类名、方法名、参数名已经指定，请勿修改，直接返回方法规定的值即可
 *
 * 
 * @param root TreeNode类 
 * @param p int整型 
 * @param q int整型 
 * @return int整型
 */
// 此时传入的是数字
 function lowestCommonAncestor( root ,  p ,  q ) {
  // write code here
  if(root === null) return null
  // 假设p的值小于根节点 并且 q的值小于根节点 那么在左子树寻找即可
  if(p < root.val && q < root.val) return lowestCommonAncestor(root.left,p,q)
  // 假设p的值大于根节点 并且q的值也大于根节点 那么在右子树寻找即可
  if(p > root.val && q > root.val) return lowestCommonAncestor(root.right,p,q)
  // 如果一个大于一个小于根节点 那么根节点就是最近的公共祖先
  return root.val
}
module.exports = {
  lowestCommonAncestor : lowestCommonAncestor
};